package com.hksj.drcs.service;

import com.hksj.drcs.query.CockpitQuery;
import com.hksj.drcs.vo.ControlDeviceNumVO;
import com.hksj.drcs.vo.ControlDeviceOverviewVO;

import java.util.List;
import java.util.Map;

/**
 * @author zengke
 * @version 1.0
 * @see DrcsCockpitService
 * @since 2025/06/05 18:10
 */
public interface DrcsCockpitService {

    /**
     * 查询控制设备数量概览列表
     * @param query 驾驶舱查询条件
     * @return 控制设备数量概览列表
     */
    List<ControlDeviceOverviewVO> queryControlDeviceOverview(CockpitQuery query);

    /**
     * 查询控制设备数量列表
     * @param query 驾驶舱查询条件
     * @return 控制设备数量
     */
    List<ControlDeviceNumVO> queryControlDeviceNumList(CockpitQuery query);

    /**
     * 远程控制设备
     * @param deviceId 网关设备id
     * @param functionId 网关设备对应的功能id
     * @param properties 属性及属性值的Map集合
     * @return 控制结果
     */
    String control(String deviceId, String functionId, Map<String, Object> properties);
}
